package com.panda.system.mapper;

import com.panda.system.domain.PandaTask;
import org.apache.ibatis.annotations.Param;

import javax.xml.crypto.Data;
import java.util.Date;
import java.util.List;

/**
 * 任务信息Mapper接口
 * 
 * @author ruoyi
 * @date 2021-01-02
 */
public interface PandaTaskMapper 
{
    /**
     * 查询任务信息
     * 
     * @param taskId 任务信息ID
     * @return 任务信息
     */
    public PandaTask selectPandaTaskById(Long taskId);

    /**
     * 查询任务信息列表
     * 
     * @param pandaTask 任务信息
     * @return 任务信息集合
     */
    public List<PandaTask> selectPandaTaskList(PandaTask pandaTask);

    /**
     * 新增任务信息
     * 
     * @param pandaTask 任务信息
     * @return 结果
     */
    public int insertPandaTask(PandaTask pandaTask);

    /**
     * 修改任务信息
     * 
     * @param pandaTask 任务信息
     * @return 结果
     */
    public int updatePandaTask(PandaTask pandaTask);

    public int updatePandaTaskStatus(@Param("taskId") Long taskId,@Param("status")String status);

    /**
     * 删除任务信息
     * 
     * @param taskId 任务信息ID
     * @return 结果
     */
    public int deletePandaTaskById(Long taskId);

    /**
     * 批量删除任务信息
     * 
     * @param taskIds 需要删除的数据ID
     * @return 结果
     */
    public int deletePandaTaskByIds(Long[] taskIds);

    /**
     * 查询任务信息列表(未分配)
     *
     * @param ids 任务信息
     * @return 任务信息集合
     */
    public List<PandaTask> selectPandaTaskListByIds(List<Long> ids);

    /**
     * 查询任务信息
     *
     * @param taskId 任务信息ID
     * @return 任务信息
     */
    public PandaTask queryPandaTaskByParentIdAndDeptId(@Param("parentId") Long parentId, @Param("deptId") Long deptId,@Param("time") Date time);

    void clearHisData(Date startTime);
}
